Keyboard Entry

 

Full-Circle Command Functionality

 

Portal allows you the ability to call aliases or macros from within other commands. From the command line (typed commands) this is obvious. If you had an alias "lockdoors" with 5 commands in it, you would be able to type in "lockdoors" into the command line and Portal would fire off the 5 commands contained in lockdoors. Now let's say you had another alias "gohome" with a few commands in it. You could put the command "lockdoors" on its own line somewhere in the alias script for "gohome". Then, when the gohome alias is invoked, it will run through the script, and when it comes across "lockdoors" it will then fire the commands in lockdoors as well.

It works pretty much like this. For every command, Portal basically looks for it to be an alias or macro. If it finds one, great, it'll then fire it. If not, it'll send the text as is. This means that in the above example, if there was no "lockdoors" alias, Portal would send "lockdoors" as is.

Here's another example for you. Let's say you have a macro F4 filled with a dozen commands. Let's say you also have an alias with a few commands in it, but you also want to automatically run the F4 macro after the alias is done. Well, manually you'd just type in the alias, then press the F4 key. "But that's not automatic" you say, and you'd be right. To make it automatic, you'd put one more command in the alias of "F4". This would tell the alias to run the commands in macro F4.

 

Note: Remember, alias and macro commands called from other commands are case-sensitive. This means in our examples, Lockdoors wouldn't work, nor would f4.

 

Note: This works slightly differently for autotyped or sent (pasted or via file) commands.  These commands do not check for other commands.  If you wish for a specific line in the text to do so, simply put a % in the first character.  For example, assume you have the alias "lockdoors".  Now, if you had a line in the autotyper called "lockdoors" the text "lockdoors" would be sent, not the alias commands.  If you had "%lockdoors" instead, the alias commands would fire.

 

Note: You can enter comments/remarks into scripts by using the letters "REM" (all must be uppercase) as the first three characters in the command.  This basically tells Portal© to completely ignore that line.

 

Activator Character Commands

 

The activator character is a very special character indeed, for it allows you to access many different features within the client.  Most special functions are accessed via the command line, while a couple other functions are used in other program screens.  Any special activator character functions you can do in the command line can also be done via any action such as aliases, macros, scheduler events, etc.  This level of complexity gives you virtually billions of different interactions you can do between actions.

 

Note: One thing to remember is that the context and position of the character is vital to what it can do for you.  Putting in a rogue space or spelling a word incorrectly could result in something totally different from what you expect.

 

The character can be one of many you decide to use via the program options screen, but once it is chosen, that character is designated the activator character for the entire program until you decide to change it again.  Below is a complete listing of the functions of the activator character.  In all instances, all the default values are assumed.  This includes the activator character (the semicolon: ;) and all quickchars.  The term <AC> will be used to represent the activator character in the examples.

 

There are two facets of the activator character not detailed in this file.  That is the process, if and system commands.  These are fully defined in the Using Variables help file.

 

Note: You’ll notice that the activator must be the first character for any of these examples to be used.  Sometimes you don’t wish the game to read the activator character at all (like if you wanted to send someone a line of text full of them).  In this case, you would place a “ as the first character.  This tells the game to not process anything at all for that command.  The command will be sent 100% literally as it is typed (the leading “ will be deleted though).  No activator character parsing will be done to the text, nor will variables or nicknames be replaced.  No functions will be evaluated and no ! will be added to any commands either.

 

Text Entered:             “;grin;say hi there cap(@abc);grin

Text Actually Sent:     ;grin;say hi there cap(@abc);grin

 

Normally this would follow the text options (program options screen) for the given command with regards to variables, functions, parsing, etc.  The “ in the first position overrides all of that.

 

While the “ can be used in any command (alias, macro, event etc.) as well as the command line, you can simplify the process in the command line.  Where you would normally press enter to send the command, if you hold down the Shift key while pressing enter, Portal© will auto-prefix the command with a “.  This is just a quickie way to allow you to send literal text without having to backspace and place a “ at the beginning.

 

Note: If you wish to have the activator character be treated as simple text in a line, rather than as a separator or activator, simply put a ~ in front of it.  This is VERY useful when having one action invoke or change another, for example an alias setting another alias or setting a macro from the command line, etc.


Activator Character/Command Line Quick Reference (; = Activator Character)

;.......................................................... Repeats last command

;<#>.................................................... Repeats last command <#> times

;<#> <command>................................. Repeats <command> <#> times

;<com1>;<com2>;…<comN>................ Invokes <com1>, com2>…<comN> separately

;cycle 1-4 say $                                     say 1, say 2, say 3, say 4

;cycle 4-1 say $                                     say 4, say 3, say 2, say 1

;abc…xyz............................................ Invokes quickchars (if any) assigned to abc…xyz

;-abc…xyz........................................... Invokes quickchars (if any) assigned to abc…xyz in reverse order (using the defined reversing values)

;--abc…xyz.......................................... Invokes quickchars (if any) assigned to abc…xyz in full (literal) reverse order

;-......................................................... Reverses the last invoked quickchar string (using the defined reversed values)

;--........................................................ Fully reverses (literally) the last invoked quickchar string

;jumpstart............................................ Sends the Portal© jumpstart string

;password............................................ Invisibly sends your MUD password to the server

;file <file>............................................. Sends the text (.txt) file <file> to the mud (e.g. ";file c:\bob.txt")

;canvas................................................ Opens the canvas

;canvas <file>....................................... Imports the canvas (.canvas) <file> into the canvas (e.g. ";file c:\canvas2.canvas")

 

Autotyper

;u........................................................ Autotypes the active Autotyper file

;u <#>..................................................Autotypes Autotyper file <#>

 

Secondary Connection

;s or ;s c.............................................. Attempts a secondary connection if none currently exists

;s d..................................................... Disconnects the secondary connection

;s or ;s r.............................................. If a secondary connection exists, this toggles command control between the primary and secondary connections

;s 1..................................................... Sets control to the primary connection

;s 2..................................................... Sets control to the secondary connection

;s <command>..................................... Sends <command> to the opposite connection.  This means that if the control is currently set to the primary connection, <command> will get sent to the secondary connection.  If the control is currently set to the secondary connection, <command> will get sent to the primary connection.

 

Aliases

;a........................................................ Lists all your existing aliases

;a <alias>............................................. Lists any commands associated with <alias>

;a <alias> <com1>;<com2>................... Adds alias <alias> with the associated commands <com1> and <com2> (this will overwrite all commands already in <alias> if it already exists)

;ra <alias>............................................ Removes <alias> and any associated commands

 

Macros

;m....................................................... Lists all macros with existing commands

;m <macro>......................................... Lists all commands associates with <macro>  In this and all macro examples, capitalization is not required, but syntax is.  For example, if you choose macro “F5” then you can type F5 or f5, either will work.  If you choose macro “Alt+F5” then you can type Alt+F5 or alt+f5, either will work, but the + is required

;m <macro> <com1>;<com2>............... Associates macro <macro> with the commands <com1> and <com2> (this will overwrite all commands already in <macro> if it already exists)

;rm <macro>........................................ Clears all commands associated with <macro>

 

Quickchars

;q........................................................ Lists all quickchars with existing commands

;q <quickchar>..................................... Lists the command associated with <quickchar>

;q <quickchar> <command>.................. Assigns <command> to <quickchar>.  If a command is already to the quickchar, it will be replaced with the new one

;rq <quickchar>.................................... Clears the command associated with <quickchar>

 

Nicknames

;n........................................................ Lists all existing nicknames and associated replacements

;n <nickname> <replacement>............... Creates a new or replaces the existing nickname <nickname> with the associated <replacement>

;rn <nickname>.................................... Deletes the existing nickname/replacement pairing associated with <nickname>

 

Ticker

;t on..................................................... Enables the Ticker

;t off..................................................... Disables the Ticker

;t toggle............................................... Toggles enabling/disabling of the Ticker

;t reset................................................. Resets the Ticker to 1

;t......................................................... Lists all existing tickers

;t <tick>;<action>................................. Sets a new ticker, or replaces an existing ticker of <tick> and <action>

;t <tick>;<action>;................................ Sets a new ticker, or replaces an existing ticker of <tick> and <action> and sets this ticker to process as an alias or macro

;rt <tick>;<action>................................ Deletes the ticker identified by <tick> and <action>

 

Variables

;variables.............................................. Lists all defined variables and values

 

Events

;e........................................................ Lists all your existing events

;e <e>;<a1>;<a2>;…;<aN>................... Assigns event <e> to the BASE group with actions <a1> to <aN>

;e <g>~<e>;<a1>;<a2>;…;<aN>............ Assigns event <e> to group <g> with actions <a1> to <aN>

;re <group>;<event>.............................. Removes <event> and associated actions from group <group>

;re <event>........................................... Removes <event> and associated actions from the BASE group

;e <enabling command>........................ Changes the enabling of events.  An enabling command of “d” will disable ALL events.  “e” will re-enable the events, and “t” will toggle between disabled/enabled.

;de <group>;<event>............................. Disables the individual event <event> in group <group> (no group assumes BASE group)

;ee <group>;<event>............................. Enabled the individual event <event> in group <group> (no group assumes BASE group)

;te <group>;<event>............................. Toggles the enabling/disabling of the individual event <event> in group <group> (no group assumes BASE group)

  

Note: You can add switches to command line event creation.  Simply add the switch(es) at the very end of the line.  Use -c to make the event case-sensitive, use -f to make it filtered, use -r to make it retained (only useful if filtering) and use -t to make the event terminal.

 

Groups

;g........................................................ Lists the currently active groups

;g status <group>................................. Activates the <group> group for status events

;g <group1>,<group2>,…,<groupN>....... Activates the <group1>, <group2>, <groupN> and BASE groups for text events (the BASE group is automatically added as well, no need to type it)

;g create <group>................................. Attempts to create group <group>

 

Miscellaneous

;break ................................................... Halts execution of any unsent commands and clears the command buffer

;panic ................................................... Invokes panic mode

wait <s>................................................ Inserts a delay of <s> seconds into the command buffer (doesn't use the activator character)

 

Note: When a wait delay is currently ticking down, you can force any command to go right to the MUD by having a comma (,) in the first position of the line.  Of course, the leading comma character will be stripped before the command is actually sent to the MUD.

 

For more on the following Activator character commands, See the help file on Using Variables.

 

If Command

;if <condition> then <a1> else <a2>....... Performs <a1> if <condition> is true, otherwise it performs <a2>

 

System Text

;system <text>..................................... Displays variable/function processing of <text> to the local display

 

Repeat the Last Command

Most commands entered into the command line can be repeated using the activator character.  You can either repeat the last command once by simply entering the character alone and pressing Enter.  Adding a number immediately after the character repeats the last command that many times (max of 99).

 

Format: <AC><# of times to Repeat>

Examples     ;                   =      Repeats the last command once

;10               =      Repeats the last command 10 times

;99               =      Repeats the last command 99 times

;3534324      =      Repeats the last command 99 times

 

Repeat Any Command Multiple Times

Most commands entered into the command line can be multiply repeated instantly by using the activator character.  You can repeat a command up to a max of 99 times.

 

Format: <AC><# of times to Repeat><space><Command>

Examples     ;5 grin           =      Sends: grin, grin, grin, grin, grin

;10 smile      =      Sends: smile (10 times)

 

Parse a List of Commands

Parsing, defined very simply, is a term used to describe the way a computer “chops up” a string of text into smaller pieces.  These little pieces can then be used individually for whatever you need them for.  In the client, you can use the activator character to tell the game that you’re sending a string of commands in one line of text.  While you enter only one line of text, the game will “parse” the separate commands out of the text and send them individually.  If you wish to have the character you selected as your activator character actually in one of the parsed commands, simply put a ~ in front of it.

 

You can also put wait statements into a parsed list of commands as well.  Simply use the format “wait #” where # is the number of seconds you with to delay.  The “rwait” command works here as well.  See the sections on aliases and macros for more information on the delay commands.

 

Format: <AC><Command1><AC><Command2><AC>…<CommandN>

Examples     ;grin;smile;dance           =      Sends: grin, smile, dance

;grin;wait 3;dance           =      Sends: grin, waits 3 seconds, dance

;n;e;search chest;w        =      Sends: n, e, search chest, w

;n;e;se~;arch chest;w     =      Sends: n, e, se;arch chest, w

 

Note: If you don’t have the program option “Activator Required for Parsing” then you don’t need to put the activator character in the first position.

 

Note: When parsing a list of commands, placing 2 activator characters next to one another (i.e. ;;) is interpreted as a carriage return of an empty line,

 

Reversing Parsed Commands

Just like with aliases, you can take a string of parsed commands and run them in reverse order.  Not only does this reverse the order, but it also assigns reversed values to each command (if any).  To reverse parsed commands, simply add the “-“ symbol right after the activator character, just before the string of quickchars.  Using a double “—“ in front will run the commands in the reverse order without assigning their reversed value.

 

Note: Defining the reversed values is done on the program options screen – Reversing Tab.  For the example below, the default values are used.

 

Note: After you invoke any line of quickchars, you can reverse it by entering either ;- or ;-- (whether you want reversed or full reversed commands).  This will only work on your last invoked quickchar string.

 

Parsed Commands                    Resulting Commands

;n;n;e;e                                     n, n, e, e

;-n;n;e;e;s                                 n, w, w, s, s

;--n;n;e;e;s                                s, e, e, n, n

 

Parsed commands also allow you to use the “*” to randomly pick one of the parsed commands.

 

Parsed Commands                    Resulting Commands

;*grin;smile;dance                      1 random choice of grin, smile or dance

;*tell bob hi;tell bob hey there      1 random choice of “tell bob hi” or “tell bob hey there”

 

Cycling a Value and Using that Value in Commands

This handy little feature allows you to set a counter to count from one number to another, then use that number in a command.  The cycling can count up or down.

 

Format: <AC>”cycle” <#From>”-“<#To> <Command>

Examples     ;cycle 1-4 say $                      =      say 1, say 2, say 3, say 4

                    ;cycle 6-3 say $                      =      say 6, say 5, say 4, say 3

                    ;cycle 1-3 sell all from bag $    =      sells all from bag 1, 2 and 3

 

Note: For command purposes, cycled commands follow the rules associated with parsed commands.

 

Note: Variables can be used with the ;cycle command

 

Autotyping Files via the Command Line

Hate using the mouse?  Then this one’s for you.

 

Format: <AC>”u” <#>

Examples     ;u                               =      autotypes the active Autotyper file

                    ;u 3                            =      autotypes Autotyper file #3

                    ;u 4                            =      autotypes Autotyper file #4

 

Invoke Quickchars through the Command Line

When the text in the command line contains the activator character in the first position, followed by only letters and number without any spaces, the game reads that as “the following letters are quickchars, please invoke them as such.”  If you include a number before a quickchar, that quickchar will be repeated that many times (max of 99).

 

Format: <AC><quickchar1><quickchar2>…<quickcharN>

Examples     ;nsew           =      Sends: north, south, east, west

;3nsew         =      Sends: north, north, north, south, east, west

;nnsedr         =      Sends: north, north, south, east, down, enter

 

For another example, if you had the following quickchar settings…

 

Quickchar      Command

        a            say apple

        b            say bear

        c            say cherry

 

If you then entered “;ab2c” into the command line, the game would read that as four separate commands “say apple” “say bear” and “say cherry” twice, and send them individually to the server.  This is exactly the same as if you typed them individually into the command line and pressed Enter after each one.

 

You can also shove a real command into a string of quickchars using the quick character (default is the double-quotes - “).  Simply surround the command by the quick character and when the string is invoked, the command will be sent normally.  Use the following as an example using the same quickchar set as in the above example.

 

Quickchar String                        Resulting Commands

;abc                                          say apple, say bear, say cherry

;ab”grin”c                                   say apple, say bear, grin, say cherry

 

Send Your Password to the Server

Instead of using the menu item “Send Masked Text” to send your MUD password to the server, you can send it more quickly this way.

 

Format: <AC>”password”

 

If your password is “password1” then when you type in “;password” what actually gets sent is “password1”  What appears on the screen, however, is that your password was sent, without displaying the password itself.

 

Note: While it is not displayed to your screen, it is sent as normal text to the server.  This means that if you’re in the middle of a note or mail, and you use the ;password command, your actual password would appear in the mail.  This is actually a good way of getting your password if you have forgotten it.  Just start a mail to yourself and type ;password while in the body of the mail.  It’s usually a good idea to change it ASAP after this.

 

Create/Activate Groups on the Fly

Activate a set of groups for text events or one group for status events.  For a set of groups, the BASE group is automatically added.

 

Format: <AC>”g”<space><Group to Activate>

Examples     ;g                                   Lists the currently active groups

                    ;g create <group>            Attempts to create group <group>

                    ;g BASE                         Activates the BASE group

                    ;g base                           Activates the BASE group

                    ;g TEST,HI                      Activates the TEST, HI and BASE groups

                    ;g status base                 Activates the BASE group for status events

 

The screen will be written with system text color (Options|Program Options|Text Options) as to the result (success, failure, group doesn’t exist etc.)  As you can see in the examples, capitalization is not necessary for the group.

 

Enabling/Disabling and Resetting the Ticker

As with groups, there is a quick way to manipulate the Ticker.

 

Format: <AC><Ticker Command><Group to Activate>

Examples     ;t t               =    If the Ticker was enabled, it will now be disabled

                    ;t toggle       =    If the Ticker was disabled, it will now be enabled

                    ;t on            =    Enables the Ticker

                    ;t off            =    Disables the Ticker

                    ;t reset        =    Resets the Ticker to 1

                    ;t r               =    Resets the Ticker to 1

 

The screen will be written with system text indicating the result.

 

Working with Actions and Lots of Other Stuff from the Command Line

While the individual Action Menu screens do their job just fine, there are times when it might be nice to change something on the fly, without having to open a whole other window to do it.  You are able to use the commands listed above in the Quick Reference to manipulate the items.  Below is an extensive list of examples to give a better view on how you can manipulate these items via the command line.

 

All of the command line codes for aliases, macros, quickchars etc. can be done on the fly via the following methods

 

Command Line Text

Autotyped Text

Sent (pasted) Text

Alias Commands

Macro Commands

Event Actions

Quickchar Commands

Ticker Actions

Parsed Commands

 

Note: If you wish to have the character you selected as your activator character appear literally in one of the commands for your alias, macro, etc., simply put a ~ in front of the command.  Again, this is great when programming an event to set an alias for example.

 

;a................................................... Lists all your existing aliases

;a test............................................. Lists any commands associated with the alias “test”

;a hi say hello there!......................... Adds alias “hi”  with the associated command “say hello there!” (this will overwrite all commands already in “hi” if it already exists)

;a test grin;smile;grunt...................... Adds alias “test”  with the associated commands “grin” “smile” and “grunt” (this will overwrite all commands already in “test” if it already exists)

;a test grin;sm~;ile;grunt................... Adds alias “test”  with the associated commands “grin” “sm;ile” and “grunt” (this will overwrite all commands already in “test” if it already exists)

;ra test................................................. Removes alias “test” and any associated commands

 

;m................................................. Lists all macros with existing commands

;m F5............................................ Lists all commands associates with macro F5

;m f5.............................................. Lists all commands associates with macro F5

;m Alt+F5...................................... Lists all commands associates with macro Alt+F5

;m alt+f5........................................ Lists all commands associates with macro Alt+F5

;m f5 grin;smile............................... Associates macro “F5” with the commands “grin” and “smile” (this will overwrite all commands already in macro F5 if any exist)

;m f5 grin;sm~;ile............................ Associates macro “F5” with the commands “grin” and “sm;ile” (this will overwrite all commands already in macro F5 if any exist)

;rm f5................................................... Clears all commands associated with macro F5

 

;e................................................... Lists all your existing events

;e grin;smile;dance.......................... Assigns event grin to the BASE group with actions smile and dance

;e test~grin;smile;dance.................. Assigns event grin to group TEST with actions smile and dance

;re TEST; hugs you............................... Removes the event “hugs you” and associated actions from group TEST

;re hugs you......................................... Removes the event “hugs you” and associated actions from the BASE group

 

;q............................................ Lists all quickchars with existing commands

;q n......................................... Lists the command associated with quickchar “n”

;q x.................................................... Lists the command associated with quickchar “x”

;q x exit................................... Assigns command “exit” to quickchar “x”  If a command is already to x, it will be replaced with exit

;rq x..................................................... Clears the command associated with quickchar “x”

 

;n.................................................... Lists all existing nicknames and associated replacements

;n gneeb gneeblefurtz................ Creates a new or replaces the existing nickname <nickname> with the associated <replacement>

;rn gneeb.............................................. Deletes the existing nickname/replacement pairing associated with nickname “gneeb”

 

;g........................................................ Lists the currently active groups

;g create <group>................................. Attempts to create group <group>

 

;t.................................................. Lists all existing tickers

;t 5;grin......................................... Sets a new ticker to force you to “grin” every 5 ticks

;t 15;F5......................................... Sets a new ticker that will process the macro “F5” (case-sensitive!) every 15 ticks

;rt 5;grin............................................... Deletes the ticker identified by a tick of 5 and action of ”grin”

;rt 10;F5............................................... Deletes the ticker identified by a tick of 5 and action of “F5” (the macro)

 

Activator Character Usage in the Tell and Chat Monitors

The activator character plays a special role in the Chat and Tell Monitors.

 

In the Tell Monitor, you can send attempt to invoke a “soul” to the person using a single instance of the character.  For Example, if you entered “;grin” into the Tell Field, it would invoke the “grin” soul on the game, directed at the person you have currently selected.  There are hundreds of unique souls, each of which can be invoked in this manner.

 

If you need to send a quick command to the game itself while in the Tell Monitor, you can.  Simply enter the activator character twice, followed immediately by the command you need to do.  The command will then be sent directly to the game as if you entered it into the command line, and not to the person selected as a tell.  An example of this would be “;;put out fire”

 

To do the same, emergency command line entering in the Chat Monitor, only use the activator character once.  In this case, you would use “;put out fire” instead.